using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
using System.Runtime.InteropServices;

namespace MKDS_Course_Editor.NKM
{
    public class NkmCamePoint
    {
        public float GetMinX1(float ScaleX, int Width)
        {
            return (X1 * ScaleX) - (5f / 2f) + (Width / 2f);
        }
        public float GetMaxX1(float ScaleX, int Width)
        {
            return (X1 * ScaleX) + (5f / 2f) + (Width / 2f);
        }
        public float GetMinY1(float ScaleY, int Height)
        {
            return (Z1 * ScaleY) - (5f / 2f) + (Height / 2f);
        }
        public float GetMaxY1(float ScaleY, int Height)
        {
            return (Z1 * ScaleY) + (5f / 2f) + (Height / 2f);
        }

        public float GetMinX2(float ScaleX, int Width)
        {
            return (X2 * ScaleX) - (5f / 2f) + (Width / 2f);
        }
        public float GetMaxX2(float ScaleX, int Width)
        {
            return (X2 * ScaleX) + (5f / 2f) + (Width / 2f);
        }
        public float GetMinY2(float ScaleY, int Height)
        {
            return (Z2 * ScaleY) - (5f / 2f) + (Height / 2f);
        }
        public float GetMaxY2(float ScaleY, int Height)
        {
            return (Z2 * ScaleY) + (5f / 2f) + (Height / 2f);
        }

        public float GetMinX3(float ScaleX, int Width)
        {
            return (X3 * ScaleX) - (5f / 2f) + (Width / 2f);
        }
        public float GetMaxX3(float ScaleX, int Width)
        {
            return (X3 * ScaleX) + (5f / 2f) + (Width / 2f);
        }
        public float GetMinY3(float ScaleY, int Height)
        {
            return (Z3 * ScaleY) - (5f / 2f) + (Height / 2f);
        }
        public float GetMaxY3(float ScaleY, int Height)
        {
            return (Z3 * ScaleY) + (5f / 2f) + (Height / 2f);
        }
        public NkmCamePoint(float X1, float Y1, float Z1, float X2, float Y2, float Z2,float X3, float Y3, float Z3)
        {
            this.X1 = X1;
            this.Y1 = Y1;
            this.Z1 = Z1;
            this.X2 = X2;
            this.Y2 = Y2;
            this.Z2 = Z2;
            this.X3 = X3;
            this.Y3 = Y3;
            this.Z3 = Z3;
        }

        private float x1 = 0;
        [Category("Position")]
        public float X1
        {
            get { return x1; }
            set { x1 = value; }
        }
        private float y1 = 0;
        [Category("Position")]
        public float Y1
        {
            get { return y1; }
            set { y1 = value; }
        }
        private float z1 = 0;
        [Category("Position")]
        public float Z1
        {
            get { return z1; }
            set { z1 = value; }
        }

        private float x2 = 0;
        [Category("Position")]
        public float X2
        {
            get { return x2; }
            set { x2 = value; }
        }
        private float y2 = 0;
        [Category("Position")]
        public float Y2
        {
            get { return y2; }
            set { y2 = value; }
        }
        private float z2 = 0;
        [Category("Position")]
        public float Z2
        {
            get { return z2; }
            set { z2 = value; }
        }
        private float x3 = 0;
        [Category("Position")]
        public float X3
        {
            get { return x3; }
            set { x3 = value; }
        }
        private float y3 = 0;
        [Category("Position")]
        public float Y3
        {
            get { return y3; }
            set { y3 = value; }
        }
        private float z3 = 0;
        [Category("Position")]
        public float Z3
        {
            get { return z3; }
            set { z3 = value; }
        }
    }
}
